package 海量数据问题.找出排名前500的数据;

import java.util.PriorityQueue;

public class Solution {
    public static class DataWithSource implements Comparable<DataWithSource> {
        private  int value;
        private int source;
        private int index;

        @Override
        public int compareTo(DataWithSource dataWithSource) {
            return Integer.compare(dataWithSource.value,this.value);
        }
    }

    public static void getTop(int[][]data) {
        int rowsize = data.length;
        int colsize = data[0].length;
        int [] res = new int[data[0].length];
        PriorityQueue<DataWithSource> maxHeap = new PriorityQueue<>();
        //将每个数组中最大的数据先放入到大顶堆
        for (int i = 0; i < rowsize; i++) {
            maxHeap.add(new DataWithSource());
        }

        //将大顶堆的最大数弹出来放到res

        //弹出来的哪个，就从对应的数组在取出下一个数字，放到大顶堆

        // 循环的取数，知道res满了。就找出想要的数据了
    }
}
